1. Field of the Invention
The present invention relates to client computers that are bootable over a network and, in particular, client computers that are bootable according to instructions from a generated administrator topology graphic user interface (GUI). More specifically, the present invention relates to a method for generating a GUI based on network topology which includes at least one target device to boot and booting at least one target device according to administrator input via the GUI.
2. Description of the Related Art
Some current computing devices include support for pre-boot extensions to download an operating system (OS) from a network to which they are attached. Such target computing devices include computer motherboards, network adapters and boot diskettes. These devices may rely on extensions to the bootstrap protocol (BOOTP) and to the dynamic host configuration protocol (DHCP). Such extensions are often termed the preboot execution environment (PXE) and require a DHCP/PXE server and a boot image negotiation layer (BINL) server.
BOOTP is a transmission control protocol/Internet protocol (TCP/IP) used by a diskless workstation, network computer (NC) or other target device to obtain its IP address and other network information, such as server address and default gateway. Upon startup, the target device sends out a BOOTP request to the BOOTP server, which returns the required information. The BOOTP request and response use an IP broadcast function, which is able to send messages before a specific IP address for a target device is known.
DHCP is software that automatically assigns an IP address to a target device logging onto a TCP/IP network. DHCP eliminates the need for manually assigning permanent IP addresses.
PXE enables a client network computer or other target device that lacks a native operating system to locate and acquire a small network bootstrap program (NBP) from a BINL server. The target device may acquire this NBP from a BINL server through a network attachment. PXE also provides a means for running the NBP on the target device. This allows the target device to continue acquiring additional software from the network that may be required to make the target device capable of performing the more complex and useful tasks assigned to it by an enterprise.
PXE relies on extensions of DHCP as the means by which the target device locates a BINL server from which to acquire an NBP. A facilitating property of DHCP is that the target device does not need the address of any other computer. The target device performs a DHCP broadcast to discover any PXE proxy server that can recognize that the target device is PXE-capable. The DHCP proxy server sends a DHCP offer to the target device. The offer contains the address of the BINL server from which the target device may obtain a NBP. The target device then obtains the NBP and all necessary software from the boot server via a trivial file transfer protocol (TFTP).
During current approaches to distributing an operating system to one or more target devices the network is unknown to the administrator during installation and/or configuration of new target devices that are not yet configured. That is, although these target devices exist and are connected to the network, they are not “seen” by the administrator because administrator defined parameters used to identify a target device (e.g., network address, subnet make, hostname, DNS, etc.) are provided by the operating system which is not yet available during pre-OS install.
It may be difficult in such a network environment to determine the true state of the network. However, especially in multiple geographic environments, for example, IS houses administering devices for multiple customers, knowledge of the current state of the network, including devices in pre-OS install stages, is critical.
It would be desirable therefore to provide a method of booting a target device in a network environment that overcomes the above.
Moreover, knowledge of overall network topology may provide other benefits, including, but not limited to: the ability to detect potential security holes, the ability to balance the loads of target devices and of distributors, and the ability to give feedback about what is happening over a particular network connection or connections.